# 自定义过滤器，过滤出前点击排行的前3个，用来特殊效果展示
from functools import wraps

from flask import current_app
from flask import g
from flask import session


def do_index_class(index):
    """自定义过滤器，过滤点击排序html的class"""
    if index==1:
        return 'first'
    elif index ==2:
        return 'second'
    elif index == 3:
        return 'third'
    else :
        return ''




# 装饰器使用，登录装饰器，装时候用g变量保存保存当前用户登录信息
def user_login_data(view_func):
    # 是用这个装饰不改变代码原先结构，名称，说明文档
    @wraps(view_func)
    def wrapper(*args,**kwargs):

        # 查询是否有用户登陆，返回用户登陆信息
        user_id = session.get('user_id')
        from info.models import User
        user = None
        if user_id:
            try:
                user = User.query.get(user_id)
            except Exception as e:
                current_app.logger.erro(e)
        # 将用户对象添加到g对象
        g.user = user
        return view_func(*args,**kwargs)
    return wrapper